import flet as ft


def main(page: ft.Page):
    c = ft.Container(
        width=150,
        height=150,
        bgcolor="blue",
        border_radius=10,
        opacity=1,                 # начальная непрозрачность
        animate_opacity=300,       # 300 мс, линейная анимация
    )

    def animate_opacity(e):
        # переключаем 1 <-> 0
        c.opacity = 0 if c.opacity == 1 else 1
        c.update()

    page.add(
        c,
        ft.ElevatedButton("Animate opacity", on_click=animate_opacity),
    )


ft.app(target=main)
